import { ref, onMounted } from "vue";
// 导入获取论坛评论接口
import { getComment } from "@/api/forumAPI";
// 导入时间处理库
import moment from "moment";

export const useGetForumComment = (id) => {
  // 存储评论数据
  const forumCommentData = ref();

  // 当前页
  const current = ref(1);
  // 每页条数
  const pagesize = ref(10);
  // 总数
  const commentTotal = ref();

  // 获取评论数据
  const getCommentData = () => {
    // 参数
    const query = {
      id,
      current: current.value,
      pagesize: pagesize.value,
    };
    // 发送请求获取论坛评论数据
    getComment(query)
      .then((res) => {
        if (res.status === 200) {
          // 转换日期格式
          res.data.forEach((item) => {
            item.createtime = moment(item.createtime).format(
              "YYYY-MM-DD HH:mm:ss"
            );
          });
          forumCommentData.value = res.data;
          commentTotal.value = res.total;
        }
        // 判断是否超出最后一页，如果超出，重新请求
        if (res.current > res.pages && res.pages != 0) {
          current.value = res.pages;
          // 重新渲染
          getCommentData();
        }
      })
      .catch((error) => {
        throw new Error(error);
      });
  };

  onMounted(() => {
    getCommentData();
  });

  return {
    forumCommentData,
    current,
    pagesize,
    commentTotal,
    getCommentData,
  };
};
